#ifndef __GRAFICAEDITOR_H__
#define __GRAFICAEDITOR_H__
#include <iostream>
#include <gtk/gtk.h>
#include "Callbacks.h"
#include "Campo.h"

 gboolean expose_event (GtkWidget *widget, GdkEventExpose *event);
class GraficaEditor{

	private:
		 GtkWidget * fileSelector;
		 GtkWidget *window; 
	     GtkWidget *ventana;
	     GdkPixmap *pixmap ;
		 GtkWidget * drawing_area;
         GtkWidget *hbox;
	     GtkWidget *vbox;
	     GtkWidget *frameCampo;
         GtkWidget *frameHerr;	
	     int campo[20][15];
		 int tipoDeCultivo ;
		bool seGuardoCambios;
	   	
    public :
		GraficaEditor(int argc, char *argv[],Campo *c);
		GtkWidget * creaCajaBotones ();
	    GtkWidget * creaFrameArchivos ();
	    void setCallbacks();
	    void draw_brush (GtkWidget *widget, gdouble x, gdouble y);
	    void dibujaCampo(GtkWidget *widget);
	    void dibujarParcelas(GtkWidget *widget);
	    GdkGC* setColor(GtkWidget* widget,int red, int green, int blue);
	    
	   /*Herramientas*/
	    void cambiarAmaiz();
	    void  cambiarAsoja();
	    void cambiarAGirasol();
	    void cambiarASinPlantar();
	    void cambiarAInexistente();
	   
    	/*Archivos*/
	    void abrir();
	    void guardar();
	    void abrirArchivo();
        void guardarArchivo();	
	   
	   /*Eventos*/
	   gboolean expose_event (GtkWidget *widget, GdkEventExpose *event);
	   gboolean configure_event (GtkWidget *widget, GdkEventConfigure *event);
       gboolean button_press_event (GtkWidget *widget, GdkEventButton *event);
	   gboolean motion_notify_event (GtkWidget *widget, GdkEventMotion *event);
	    
		void cerrarVentana (GtkWidget *widget);
	    void quit();
	  
	      
};

#endif
